﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;

using Bricks.Component.Utils;
using Bricks.Site.Models;
using Bricks.Business.Models.ScheduleManagement;


namespace Bricks.Business.Service
{
    public interface IEngineeringImageScheduleService
    {
        IQueryable<EngineeringImageSchedule> EngineeringImageSchedules { get; }

        #region 主界面加载
        List<EngineeringImageScheduleView> GetEngineeringImageScheduleList(Guid projectID, string contractType, Guid contractID);

        List<EngineeringImageScheduleDetailsView> GetEngineeringImageScheduleDetailList(Guid projectID, string contractType, Guid contractID, string year, string month, Guid pid);
        #endregion

        #region 单据操作
        EngineeringImageScheduleView GetEngineeringImageScheduleByID(Guid id);

        void SaveEngineeringImageSchedule(EngineeringImageScheduleView engineeringImageScheduleView, List<EngineeringImageScheduleDetailsView> saveList, bool isUpdateDetails = true);

        OperationResult Delete(Guid id);
        #endregion

        EngineeringImageScheduleReportView GetEngineeringImageScheduleListForReport(Guid projectID, string year, string month);
    }
}